Caffeine是Java8对Guava缓存的重写版本,在Spring Boot 2.0中将取代Guava。如果出现Caffeine,CaffeineCacheManager
将会自动配置。使用spring.cache.cache-names
属性可以在启动时创建缓存,并可以通过以下配置进行自定义(按顺序):
spring.cache.caffeine.spec
定义的特殊缓存com.github.benmanes.caffeine.cache.CaffeineSpec
bean定义com.github.benmanes.caffeine.cache.Caffeine
bean定义例如,以下配置创建一个foo
和bar
缓存,最大数量为500,存活时间为10分钟:
spring.cache.cache-names=foo,bar
spring.cache.caffeine.spec=maximumSize=500,expireAfterAccess=600s
除此之外,如果定义了com.github.benmanes.caffeine.cache.CacheLoader
,它会自动关联到CaffeineCacheManager
。由于该CacheLoader
将关联被该缓存管理器管理的所有缓存,所以它必须定义为CacheLoader<Object, Object>
,自动配置将忽略所有泛型类型。